package milkyway.hightech.locales;

import milkyway.hightech.money.Currency;

//~--- JDK imports ------------------------------------------------------------

import java.text.DateFormat;
import java.text.NumberFormat;

import java.util.HashMap;
import java.util.ListResourceBundle;
import java.util.Locale;
import java.util.Map;

/**
 *
 * @author michael
 */
public class Locale_de_DE extends ListResourceBundle
{
    private Map<String, String[]> methods = new HashMap<String, String[]>();
    private Locale locale = new Locale("de", "DE");
    
    private Object[][] contents = {
        { "payInMoney", "Einzahlung" },
        { "currency", Currency.EUR },
        { "currencyPlainText", "€" },
        { "currencyHTML", "&euro;" },
        { "date", "Buchumsdatum" },
        { "reason", "Buchungsgrund" },
        { "amount", "Betrag" },
        { "information", "Information" },
        { "numberFormat", NumberFormat.getCurrencyInstance(locale) },
        { "dateFormat", DateFormat.getDateTimeInstance(DateFormat.DEFAULT,
            DateFormat.DEFAULT, locale) },
        { "formElementValues", methods },
        { "THREE_MONTH", "3 Monate" },
        { "SIX_MONTH", "6 Monate" },
        { "NINE_MONTH", "9 Monate" },
        { "TWELVE_MONTH", "12 Monate" },
        { "contractPeriod", "Laufzeit: " },
        { "drawMoney", "Einzahlung" },
        { "messageTitel", "Wichtige Mitteilung" },
        { "errorMessageTitel", "Fehler" },
        { "creditInterest", "Habenzins: " },
        { "debitInterest", "Sollzins: " },
        { "emptyInput", "Das Eingabefeld darf nicht leer sein: " },
        { "bankNotFound", "Die von Ihnen angegebene Bank existiert nicht!\n" +
            "Bitte überprüfen Sie den Namen der Bank und versuchen Sie es erneut" },
        { "investmentConditions", "Unsere Investment-Konditionen:" },
        { "giroConditions", "Unsere Giro-Konditionen:" },
        { "accountNotExpired", "Die Laufteit des angegebenen Kontos ist"
            + " noch nicht abgelaufen!\n"
            + "Die von Ihnen gewählte Transaktion kann daher noch"
            +  " nicht durchgeführt werden." },
        { "notEnoughMoney", "Ihr Konto weißt keine genügende Deckung auf!" },
        { "transferOK", "Der Transfer wurde erfolgreich durchgeführt!" },
        { "drawMoneyOK", "Bitte Geld aus dem Ausgabefach nehmen!" },
        { "openAccountOK", "Ihr Konto wurde erfolgreich eröffnet."
            + " Die Kontonummer ist: " },
        { "accountBalance", "Ihr Kontostand beträgt: " },
        { "getStatementOK", "Ihr Kontoauszug wurde erfolgreich erstellt!"
            + "\nSoll der Kontoauszug geöffnet werden?" },
        { "couldNotApplyTransfer", "Der transfer konnte nicht"
            + " durchgeführt werden" },
        { "payInMoneyOK", "Die Einzahlung war erfolgreich."
            + " Der eingezahlte Betrag ist: " },
        { "accountNotFound", "Das angegebene Konto konte nicht"
            + " gefunden werden!" },
        { "stringInputError", "Die eingabe darf nur aus Buchstaben bestehen!" },
        { "intInputError", "Die eingabe darf nur aus Zahlen zwischen 0"
            + " bis 1 bestehen!" },
        { "wrongAccountNumber", "Es konnte kein Konto zur eingegebenen"
            + " Kontonummer ermittelt werden!" },
        { "systemNotAvailable", "Das System ist zur Zeit leider außer Betrieb."
            + " Bitte versuchen Sie es später noch einmal!" } };

    public Locale_de_DE()
    {
        methods.put("openInvestmentAccount",  new String[] {
                            "Neues Festgeldkonto eröffnen",
                            "Kontoinhaber",
                            "Kondition" });
        
        methods.put("openGiroAccount", new String[] {
                            "Neues Girokonto eröffnen",
                            "Kontoinhaber",
                            "Kondition" });
        
        methods.put("getAccountBalance", new String[] {
                            "Kontostand abfragen",
                            "Kontonummer" });
        
        methods.put("payInMoney", new String[] {
                            "Geld einzahlen",
                            "Kontonummer",
                            "Betrag" });
        
        methods.put("drawMoney", new String[] { 
                            "Geld abheben",
                            "Kontonummer",
                            "Betrag" });
        
        methods.put("transferMoney", new String[] { 
                            "Neue Überweisung",
                            "Zielbank",
                            "Von Kontonummer",
                            "Kontonummer Empfänger",
                            "Betrag",
                            "Währung",
                            "Verwendungszweck" });
        
        methods.put("getAccountStatement", new String[] {
                            "Kontoauszüge abholen",
                            "Kontonummer",
                            "Dateiname",
                            "Format",
                            "Sortierung" });
        
        methods.put("getConditions", new String[] {
                            "Aktuelle Konditionen" });
    }

    /**
     *
     * @return
     */
    @Override
    protected Object[][] getContents()
    {
        return contents;
    }
}